﻿using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Text;

namespace Dns_2_Csv
{
    class Program
    {
        static void Main(string[] args)
        {
            #region Lettura Argomenti
            //Lista Argomenti
            //string modooperativo;
            string InputFileName;
            string OutputFileName;
            // TODO: Sistemare Parser degli argomenti
            //modooperativo = args[0].ToString();
            InputFileName = args[0].ToString();
            OutputFileName = args[1].ToString();
            #endregion

            StreamReader InputFile = new StreamReader(InputFileName);
            StreamWriter OutputFile = new StreamWriter(OutputFileName);
            string linea = InputFile.ReadLine();
            while (linea != null)
            {
                if (AnalizzareLinea(linea))
                {
                    OutputFile.WriteLine(SplitLinea(linea));
                }
                linea = InputFile.ReadLine();
            }
            InputFile.Close();
            OutputFile.Close();
        }
        static public bool AnalizzareLinea(string linea)
        {
            if (linea == "")
            {
                return false;
            }
            if (linea.Contains("Returned records:"))
            {
                return false;
            }
            if (linea.Contains("Command completed successfully."))
            {
                return false;
            }
            if (linea.Contains("[Aging:"))
            {
                return false;
            }
            if (linea.Contains("[AGE"))
            {
                return false;
            }
            if (linea[0] == '\t')
            {
                return false;
            }
            if (linea[0] == ';')
            {
                return false;
            }
            if (linea[0] == '@')
            {
                return false;
            }
            if (linea[0] == '_')
            {
                return false;
            }
            if (linea[0] == ' ')
            {
                return false;
            }
            return true;
        }
        static public string SplitLinea(string linea)
        {
            string lineaout;
            int tmpindex = 0;
            tmpindex = linea.IndexOf(" ");
            lineaout = linea.Substring(0, tmpindex);
            tmpindex = linea.LastIndexOf('\t');
            lineaout = lineaout + ";" + linea.Substring(tmpindex+1, linea.Length - tmpindex -1);
            return lineaout;
        }
    }
}
